package cn.itcast.nems.studentrecord.dao.dataobject;

import cn.itcast.nems.employee.dao.bean.EmployeeGroupBean;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author ChangLu.Gao
 * @version v1.0
 * @program nems-server
 * @description
 * @date 2023/11/22 10:51
 */
@Data
public class ReceivableAdjustmentDO extends ApprovalFormQueryModel {
    /**
     * 调价单ID集合(一般用于查询)
     */
    private List<String> ids;
    /**
     * 学籍ID集合(一般用于查询)
     */
    private List<String> studentRecordIds;
    /**
     * 调价单ID
     */
    private String id;
    /**
     * 学籍ID
     */
    private String studentRecordId;
    /**
     * 调价学籍上的班级ID
     */
    private Integer clazzId;
    /**
     * 调价学籍上的班级名称
     */
    private String clazzName;
    /**
     * 学籍对应班级的校区ID；冗余字段，用于控制数据权限
     */
    private String clazzCampusId;
    /**
     * 学籍对应班级的校区名称；冗余字段，用于控制数据权限
     */
    private String clazzCampusName;
    /**
     * 学籍对应班级的学科ID；冗余字段，用于控制数据权限
     */
    private String clazzSubjectId;
    /**
     * 学籍对应班级的学科名称；冗余字段，用于控制数据权限
     */
    private String clazzSubjectName;
    /**
     * 原实际应收金额
     */
    private Integer originalAmount;
    /**
     * 调整金额;调增为“正”，调减为“负”
     */
    private Integer amount;
    /**
     * 调整后应收金额
     */
    private Integer targetAmount;
    /**
     * 原因
     */
    private String reason;
    /**
     * 重读原因说明;来自字典表
     */
    private String reasonDescription;
    /**
     * 备注
     */
    private String remark;
    /**
     * 状态;枚举值：草稿｜DRAFT、待审批｜PENDING、审批中｜APPROVING、审批未通过｜REJECTED、已完成｜FINISHED
     */
    private String state;
    /**
     * 学员名称
     */
    private String studentName;
    /**
     * 创建人姓名
     */
    private String createdByName;
    /**
     * 创建时间
     */
    private LocalDateTime createdDatetime;
    /**
     * 调价金额范围-最低
     */
    private Integer minAmount;
    /**
     * 调价金额范围-最高
     */
    private Integer maxAmount;

    /**
     * 创建时间范围, 起始
     */
    private LocalDateTime minCreatedDatetime;
    /**
     * 创建时间范围, 终止
     */
    private LocalDateTime maxCreatedDatetime;
    /**
     * 学号
     */
    private String studentNo;
    /**
     * e2_approval_form表ID
     */
    private String formId;
    /**
     * 状态;枚举值：草稿｜DRAFT、待审批｜PENDING、审批中｜APPROVING、审批未通过｜REJECTED、已完成｜FINISHED
     */
    private List<String> excludeStates;
    /**
     * 待我审批的凭单Id集合
     */
    private List<String> waitApprovalJournalIds;
    /**
     * 我审批过的凭单ID集合
     */
    private List<String> myApprovedJournalIds;
    /**
     * 学员ID
     */
    private Integer studentId;
    /**
     * category：1：审批）2：知会）
     */
    private Integer category;
    private List<EmployeeGroupBean> employeeGroups;
}
